Instituto Federal de São Paulo (IFSP)
Campus Bragança Paulista/SP

Análise e Desenvolvimento de Sistemas (ADS)

3o. módulo
Profa. Ana Paula Müller Giancoli
paulagiancoli@ifsp.edu.br

AULA 12 - ANÁLISE POR PONTOS DE FUNÇÃO

Agenda


1. Métricas e Estimativas de tamanho de Projeto de Software

Figura 1: Software Engineering Process Office (SEPO)
Fonte: Autoria própria


2. Por que medir um software ?


3. Medidas de Software

Medidas Diretas Medidas Indiretas
1. Custos de Produção
2. Esforços de Produção
3. Linhas de Código
4. Velocidade de Execução
5. Memória
6. Defeitos (Número de Erros)
1. Funcionalidade
2. Qualidade
3. Complexidade
4. Eficiência
5. Confiabilidade
6. Manutenibilidade

MEDIDA: Uma indicação quantitativa da extensão, quantidade, dimensão, capacidade ou tamanho do produto ou do processo.
MEDIÇÃO: Ato de determinação de uma medida.
INDICADOR: É uma métrica ou a combinação delas, que fornece compreensão do processo de software, de um projeto ou do produto.

3.1. Objetivos da Medição de Software

Objetivos
Entender: ajudam a entender o comportamento e o funcionamento de produtos de software.
Avaliar: utilizadas para determinar padrões, metas e critérios de aceitação.
Controlar: utilizadas para controlar processos, produtos e serviços de software.
Prever: utilizadas para prever valores de atributos.

4. Métricas

Métricas
1. Orientadas ao tamanho: são as medidas diretas.
2. Orientadas à função: são as medidas indiretas.
3. Orientadas às pessoas: são as atuações das pessoas, seus relacionamentos com ferramentas e métodos.
4. De Qualidade: são as em conformidade com os requisitos implícitos e explícitos do usuário.
5. De Produtividade: são as que possuem enfoque na saída do processo de engenharia de software, com objetivo de avaliar o próprio processo.
6. Técnicas: são as que possuem o enfoque nas características do software (complexidade, modularidade...)

5. Problema


6. Métricas Orientadas ao Tamanho (Estimar Tamanho)

6.1. Vantagens e Desvantagens

Vantagens Desvantagens
- Fáceis de serem obtidas.
- Vários modelos de estimativas baseados em LOC e KLOC.
- LOC e KLOC dependem da Linguagem de Programação.
- Penalizam programas bem projetados, mas pequenos.
- Não se adaptam às linguagens não procedimentais.
- Difícil de obter na fase de planejamento.

6.2. Exemplos de Métricas Orientadas ao Tamanho

Projeto Esforços $ KLOC Págs. Doc. Erros Pessoas-Mês
projA 24 168 12.1 365 29 3
projB 62 440 27.2 1224 86 5
projC 43 314 20.2 365 64 36
Métricas derivadas
Produtividade = Pessoas-Mês / KLOC
Qualidade = Erros / KLOC
Custo = $ / LOC
Documentação = Págs. Doc. / KLOC

7. Métricas Orientadas à Função (Estimar Tamanho)

7.1. Vantagens e Desvantagens

Vantagens Desvantagens
- Independentes da linguagem de programação.
- Ideal para aplicações que usam linguagens não procedimental.
- Baseados em dados mais fáceis de serem conhecidos durante a evolução do projeto.
- Cálculo baseado em dados subjetivos.
- Não é uma medida direta, é apenas um número.

7.2. Tipos de Componentes

Tipo de Dados Tipo de Transações
(a) Arquivos Lógicos Internos: ALI.
(b) Arquivos de Interface Externa: AIE.
(a) Entradas Externas: EE.
(b) Saídas Externas: SE
(c) Consultas Externas: CE.

8. Procedimento para Contagem de Pontos

Procedimento
1.Identificar o Tipo de Contagem.
2.Identificar o escopo e a fronteira de aplicação.
3.Contar Funções de Dados e Funções Transacionais.
4.Determinar o Fator de Ajuste e os Pontos de Funções não ajustados.
5.Calcular os Pontos de Funções Ajustados.

8.1. Fronteira da Aplicação

Figura 2: Fronteira da Aplicação
Fonte: Autoria própria

Figura 3: Detalhamento da Fronteira da Aplicação

Fonte: Autoria própria

Sigla Significado Descrição
ALI Arquivos Lógicos Internos É um grupo de dados logicamente relacionados, ou informações de controle, identificados e modificados pelo usuário e mantidos dentro da fronteira da aplicação que está sendo controlada.
AIE Arquivos Interface Externa É um grupo de dados logicamente relacionados, ou informações de controle, utilizados no sistema que está sendo analisado, mas que são mantidos fora da fronteira da aplicação que está sendo contada.
EE Entradas Externas É qualquer função ou transação que leva dados ou informações de controle de fora para dentro da fronteira da aplicação que está sendo contada.
SE Saídas Externas É um processo que fornece dados derivados (ocorre quando um ou mais dados elementares são combinados para gerar elementos de dados adicionais) para fora da fronteira da aplicação que está sendo contada.
CE Consultas Externas É uma transação que combina transações de entrada e saída, resultando em recuperação de dados de um ALI ou AIE.

8.2. Contagem da Função Dados

Contagem Função Dados
1. Cada uma dessas funções de dados deve ser classificada segundo sua complexidade funcional. (vide tabela a seguir)
2. Essa complexidade é definida com base em dois conceitos: registros lógicos e itens de dados.
- Registros Lógicos: são subconjuntos de dados dentro de um ALI/AIE, que foram reconhecidos pelo usuário. Se o usuário não reconhecer subconjuntos de dados em um ALI/AIE, então se deve contar o ALI/AIE como um registro lógico.
- Item de Dados: é um campo reconhecido pelo usuário como único e não repetido. Vale destacar que só devem ser contados os itens de dados utilizados pela aplicação em contagem.

8.2.1. Complexidade ALI e AIE

Linha 1: De 1 a 19 De 20 a 50 51 ou mais
Coluna 1
Apenas 1
SIMPLES SIMPLES MÉDIA
De 2 a 5 SIMPLES MÉDIA COMPLEXA
6 ou mais MÉDIA COMPLEXA COMPLEXA

8.3. Contagem da Função Transacionais

Contagem Função Transacionais
1. Envolve a identificação de funções transacionais (entradas externas, saídas externas e consultas externas) e sua classificação de acordo com a complexidade funcional envolvida (simples, média ou complexa).
2. A complexidade funcional é feita com base: número de arquivos referenciados e dos itens de dados manipulados pela função.
3. Utilizando as tabelas a seguir, sendo a primeira para entradas externas e a segunda para saídas e consultas externas.
4. Um arquivo referenciado pode ser um ALI lido ou mantido pela função transacional, ou um AIE lido pela função transacional.
5. Já o número de itens de dados referenciados é calculado considerando apenas os itens de dados efetivamente referenciados pela função transacional em questão.

8.3.1. Complexidade Entradas Externas - EE

Linha 1: De 1 a 4 De 5 a 15 16 ou mais
Coluna 1
0 ou 1
SIMPLES SIMPLES MÉDIA
2 SIMPLES MÉDIA COMPLEXA
3 ou mais MÉDIA COMPLEXA COMPLEXA

8.3.2. Complexidade Saídas - SE e Consultas Externas - CE

Linha 1: De 1 a 5 De 6 a 19 20 ou mais
Coluna 1
0 ou 1
SIMPLES SIMPLES MÉDIA
2 ou 3 SIMPLES MÉDIA COMPLEXA
4 ou mais MÉDIA COMPLEXA COMPLEXA

IMPORTANTE

8.4. Cálculo dos Pontos de Função não Ajustados

Linha 1: SIMPLES MÉDIA COMPLEXA
Coluna 1
ALI
7 10 15
AIE 5 7 10
EE 3 4 6
SE 4 5 7
CE 3 4 6

IMPORTANTE

8.4.1. Determinação do Fator de Ajuste

1. O fator de ajuste influencia os pontos de função não ajustados em +/- 35%, obtendo-se o número de PFs ajustados.
2. Para se calcular o fator de ajuste, são usadas 14 características gerais dos sistemas, a saber:
   2.1 É requerida Comunicação de Dados ?
   2.2 Existem Funções de Processamento de Dados Distribuído ?
   2.3 O Desempenho é crítico ?
   2.4 Utilização do Equipamento (Restrições de Recursos Computacionais). Funcionará em um SO existente e intensamente utilizado ?
   2.5 As entradas on-line requerem que as transações de entrada sejam construídas com um Volume de Telas e Transações ?
   2.6 São requeridas Entrada de Dados On-line ?
   2.7 Eficiência do Usuário Final (Usabilidade) ?
   2.8 A Atualização dos arquivos é On-line ?
   2.9 O Processamento Interno é Complexo ?
   2.10 O código é projeto e adequado para Reusabilidade ?
   2.11 Facilidade de Implantação. A conversão e instalação estão incluídas no projeto ?
   2.12 Facilidade Operacional (Processos Operacionais, tais como Inicialização, Cópia de Segurança, Recuperação etc). O sistema exige backup e recuperação confiáveis ?
   2.13 Múltiplos Locais e Organizações do Usuário ?
   2.14 Facilidade de Mudanças (Manutenibilidade) e uso pelo usuário ?
0 1 2 3 4 5
NENHUMA POUCA MODERADA MÉDIA SIGNIFICANTE ESSENCIAL
Cálculo dos Pontos de Função Ajustados
1. Uma vez calculados os PF não ajustados e o fator de ajuste, é possível calcular os PFs ajustados.
2. Esse cálculo é feito de formas diferentes para cada tipo de contagem (projeto de desenvolvimento, projeto de manutenção ou aplicações instaladas).
3. Para projetos de desenvolvimento, o cálculo é dado por:

8.5. Pontos por Função - Contagem Estimada de PF

Pssos para COntagem Estimada de Pontos de Função
1. Determinar todos os ALI, AIE, EE, SE, CE.
2. Atribuir a complexidade dos AIE e ALI como Baixa e das funções tipo transação EE, SE e CE como Média.
3. Calcular o total da contagem dos pontos de funções, segunda a tabela de complexidade.
Linha 1: SIMPLES MÉDIA COMPLEXA
Coluna 1
ALI
7 10 15
AIE 5 7 10
EE 3 4 6
SE 4 5 7
CE 3 4 6

8.5.1. Exemplo

Linha 1: Contagem * SIMPLES MÉDIA COMPLEXA =
Coluna 1
número de arquivo ALI
* 7 10 15 =
número de interfaces esternas AIE * 5 7 10 =
números de entradas do usuário EE * 3 4 6 =
número de saídas do usuário SE * 4 5 7 =
número de consultas do usuário CE * 3 4 6 =
Pergunta Resposta
1. O fator de ajuste influencia os pontos de função não ajustados em +/- 35%, obtendo-se o número de PFs ajustados.
2. Para se calcular o fator de ajuste, são usadas 14 características gerais dos sistemas, a saber:
   2.1 É requerida Comunicação de Dados ?
   2.2 Existem Funções de Processamento de Dados Distribuído ?
   2.3 O Desempenho é crítico ?
   2.4 Utilização do Equipamento (Restrições de Recursos Computacionais). Funcionará em um SO existente e intensamente utilizado ?
   2.5 As entradas on-line requerem que as transações de entrada sejam construídas com um Volume de Telas e Transações ?
   2.6 São requeridas Entrada de Dados On-line ?
   2.7 Eficiência do Usuário Final (Usabilidade) ?
   2.8 A Atualização dos arquivos é On-line ?
   2.9 O Processamento Interno é Complexo ?
   2.10 O código é projeto e adequado para Reusabilidade ?
   2.11 Facilidade de Implantação. A conversão e instalação estão incluídas no projeto ?
   2.12 Facilidade Operacional (Processos Operacionais, tais como Inicialização, Cópia de Segurança, Recuperação etc). O sistema exige backup e recuperação confiáveis?
   2.13 Múltiplos Locais e Organizações do Usuário ?
   2.14 Facilidade de Mudanças (Manutenibilidade) e uso pelo usuário ?
TOTAL
0 1 2 3 4 5
NENHUMA POUCA MODERADA MÉDIA SIGNIFICANTE ESSENCIAL
Métricas derivadas
Produtividade = Pessoas-Mês / PF
Qualidade = Erros / PF
Custo = $ / PF
Documentação = Págs. Doc. / PF

9. Passos para Estimar Tamanho de Aplicação utilizando APF.


Referências

Perguntas


ADS - AOO - 3o. módulo.
Modelo e formato elaborado por profa. Ana Paula Müller Giancoli - BSD 2-Clause License. - Setembro.2020.

</div> </div>